Các biến thể Trình_biên_dịch_của_trình_biên_dịch

Một trình sinh bộ phân tích cú pháp điển hình gắn mã nguồn thực thi được với mỗi luật của văn phạm. Mã nguồn sẽ được thực thi khi luật đó được áp dụng bởi bộ phân tích. Những đoạn mã nguồn này đôi khi được gọi là tiểu trình ngữ nghĩa vì chúng xác định ngữ nghĩa của cấu trúc ngữ pháp đang được phân tích. Dựa vào kiểu bộ phân tích cần sinh ra, các tiểu trình này có thể xây dựng cây phân tích (hoặc cây phân tích trừu tượng) hoặc sinh trực tiếp ra mã lệnh.

Một vài compiler-compiler thử nghiệm nhận đầu vào là mô tả hình thức của ngữ nghĩa của một ngôn ngữ lập trình, điển hình là sử dụng denotational semantics. Cách tiếp cận này thường được gọi là "biên dịch dựa ngữ nghĩa" mà người tiên phong là Peter Mosses' Semantic Implementation System (SIS) in 1978.[1] Tuy nhiên, cả trình biên dịch dược sinh ra và mã lệnh nó tạo ra đều không hiệu quả về thời gian và bộ nhớ. Hiện tại không có trình biên dịch thành phẩm nào được xây dựng theo cách này tuy nhiên các nghiên cứu vẫn đang tiếp tục.

Dự án Production Quality Compiler-Compiler ở Đại học Carnegie-Mellon không hình thức hoá ngữ nghĩa nhưng có một framework bán hình thức cho mô tả máy tính.

Compiler-compiler tồn tại dưới nhiều hình thức, bao gồm cả bottom-up rewrite machine generators (xem JBurg) và trình sinh bộ phân tích văn phạm thuộc tính (ví dụ ANTLR có thể được dùng để kiểm tra kiểu, lan truyền hằng số và hơn nữa đồng thời với pha phân tích cú pháp).